package com.woniu.entity;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 表名：flower_order
 * 表注释：订单
*/
@Table(name = "flower_order")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class FlowerOrder implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 订单编号(雪花编号)
     */
    @Id
    @Column(name = "order_id")
    private Long orderId;

    /**
     * 用户编号
     */
    @Column(name = "account_id")
    private Integer accountId;

    /**
     * 地址编号
     */
    @Column(name = "address_id")
    private Integer addressId;

    /**
     * 合计
     */
    private BigDecimal total;

    /**
     * 支付宝交易流水号
     */
    @Column(name = "trade_no")
    private String tradeNo;

    /**
     * 订单状态(0未支付 1已支付 2已取消)
     */
    private Byte status;

    /**
     * 创建时间
     */
    @Column(name = "create_time")
    private Date createTime;

    /**
     * 更新时间
     */
    @Column(name = "update_time")
    private Date updateTime;

    /**
     * 备注
     */
    @Column(name = "remark")
    private String remark;

    /**
     * 是否已评论（0未评论，1已评论）
     */
    @Column(name = "is_comment")
    private Byte isComment;

    public FlowerOrder(Long orderId, Byte status) {
        this.orderId = orderId;
        this.status = status;
    }

    /**
     * 获取订单编号(雪花编号)
     *
     * @return orderId - 订单编号(雪花编号)
     */
    public Long getOrderId() {
        return orderId;
    }

    /**
     * 设置订单编号(雪花编号)
     *
     * @param orderId 订单编号(雪花编号)
     */
    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    /**
     * 获取用户编号
     *
     * @return accountId - 用户编号
     */
    public Integer getAccountId() {
        return accountId;
    }

    /**
     * 设置用户编号
     *
     * @param accountId 用户编号
     */
    public void setAccountId(Integer accountId) {
        this.accountId = accountId;
    }

    /**
     * 获取地址编号
     *
     * @return addressId - 地址编号
     */
    public Integer getAddressId() {
        return addressId;
    }

    /**
     * 设置地址编号
     *
     * @param addressId 地址编号
     */
    public void setAddressId(Integer addressId) {
        this.addressId = addressId;
    }

    /**
     * 获取合计
     *
     * @return total - 合计
     */
    public BigDecimal getTotal() {
        return total;
    }

    /**
     * 设置合计
     *
     * @param total 合计
     */
    public void setTotal(BigDecimal total) {
        this.total = total;
    }

    /**
     * 获取支付宝交易流水号
     *
     * @return tradeNo - 支付宝交易流水号
     */
    public String getTradeNo() {
        return tradeNo;
    }

    /**
     * 设置支付宝交易流水号
     *
     * @param tradeNo 支付宝交易流水号
     */
    public void setTradeNo(String tradeNo) {
        this.tradeNo = tradeNo;
    }

    /**
     * 获取订单状态(0未支付 1已支付 2已取消)
     *
     * @return status - 订单状态(0未支付 1已支付 2已取消)
     */
    public Byte getStatus() {
        return status;
    }

    /**
     * 设置订单状态(0未支付 1已支付 2已取消)
     *
     * @param status 订单状态(0未支付 1已支付 2已取消)
     */
    public void setStatus(Byte status) {
        this.status = status;
    }

    /**
     * 获取创建时间
     *
     * @return createTime - 创建时间
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 设置创建时间
     *
     * @param createTime 创建时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 获取更新时间
     *
     * @return updateTime - 更新时间
     */
    public Date getUpdateTime() {
        return updateTime;
    }

    /**
     * 设置更新时间
     *
     * @param updateTime 更新时间
     */
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    /**
     * 获取备注
     *
     * @return remark - 备注
     */
    public String getRemark() {
        return remark;
    }

    /**
     * 设置备注
     *
     * @param remark 备注
     */
    public void setRemark(String remark) {
        this.remark = remark;
    }

    /**
     * 获取是否已评论（0未评论，1已评论）
     *
     * @return isComment - 是否已评论（0未评论，1已评论）
     */
    public Byte getIsComment() {
        return isComment;
    }

    /**
     * 设置是否已评论（0未评论，1已评论）
     *
     * @param isComment 是否已评论（0未评论，1已评论）
     */
    public void setIsComment(Byte isComment) {
        this.isComment = isComment;
    }
}